package Ecu911_Datos;

import Ecu911_Negocio.Usuarios;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import org.postgresql.util.PSQLException;

/**
 *
 * @author Marcelo Montaño
 */
public class UsuariosBaseDatos {
    
    public String grabar(Usuarios miUsuario) throws SQLException, PSQLException {
        OperacionesBaseDatos db = new OperacionesBaseDatos();
        String respuesta;
        String query = "insert into \"Usuarios_SistemaEcu911\" values('" + miUsuario.getCodigo() + 
                                                               "','" + miUsuario.getNombre() + 
                                                               "','" + miUsuario.getApellido() +
                                                               "','" + miUsuario.getPassword() +
                                                               "','" + miUsuario.getEstado() + "')";
        if(!db.ingreso(query)){
            respuesta = "Usuario registrado con éxito.";
        }
        else{
            respuesta = "Hubo un error en la base da datos.";
        }
        db.cerrarConexion();
        return respuesta;
    }
    public int modificar(Usuarios miUsuario) throws SQLException {
        OperacionesBaseDatos db = new OperacionesBaseDatos();
        String query="update Usuarios_SistemaEcu911 set passwordUsuario='" + miUsuario.getPassword() + "' where idPersona='" + miUsuario.getCodigo() + "'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    public int eliminar(String id) throws SQLException {
        OperacionesBaseDatos db = new OperacionesBaseDatos();
        String query="delete from Usuarios_SistemaEcu911 where idPersona='" + id + "'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
    public Usuarios buscar(String id) throws SQLException {
        OperacionesBaseDatos db = new OperacionesBaseDatos();
        String query="select * from Usuarios_SistemaEcu911 where idPersona ='" + id + "'";
        ResultSet resultado = db.seleccion(query);
        Usuarios miUsuario=null;
        if (resultado!=null) {
            resultado.next();
            miUsuario = new Usuarios();
            miUsuario.setCodigo(resultado.getString("idPersona"));
            miUsuario.setNombre(resultado.getString("nombrePersona"));
            miUsuario.setApellido(resultado.getString("apellidoPersona"));
            miUsuario.setPassword(resultado.getString("passwordPersona"));
        }
        db.cerrarConexion();
        return miUsuario;
    }
    public ArrayList listar() throws SQLException {
       OperacionesBaseDatos db = new OperacionesBaseDatos();
        String query="select * from \"Usuarios_SistemaEcu911\" ";
        ResultSet resultado = db.seleccion(query);
        Usuarios miUsuario=null;
        ArrayList todos=new ArrayList();
        while (resultado.next()) {
            miUsuario = new Usuarios();
            miUsuario.setCodigo(resultado.getString("idPersona"));
            miUsuario.setNombre(resultado.getString("nombrePersona"));
            miUsuario.setApellido(resultado.getString("apellidoPersona"));
            miUsuario.setPassword(resultado.getString("passwordUsuario"));
            miUsuario.setEstado(resultado.getBoolean("estadoUsuario"));
            todos.add(miUsuario);
        }
        db.cerrarConexion();
        return todos;
    }
}
